package org.jeecg.modules.crm.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.crm.entity.CrmContact;

import java.util.List;
import java.util.Map;

/**
 * @Description: 客户联系人表
 * @Author: jeecg-boot
 * @Date:   2025-06-03
 * @Version: V1.0
 */
public interface ICrmContactService extends IService<CrmContact> {
    
    /**
     * 根据客户ID查询联系人列表
     * @param customerId 客户ID
     * @return 联系人列表
     */
    List<CrmContact> getContactsByCustomerId(String customerId);
    
    /**
     * 获取客户的主联系人
     * @param customerId 客户ID
     * @return 主联系人
     */
    CrmContact getPrimaryContactByCustomerId(String customerId);
    
    /**
     * 设置主联系人
     * @param id 联系人ID
     * @param customerId 客户ID
     * @return 是否成功
     */
    boolean setPrimaryContact(String id, String customerId);
    
    /**
     * 删除客户的所有联系人
     * @param customerId 客户ID
     * @return 是否成功
     */
    boolean deleteByCustomerId(String customerId);
    
    /**
     * 根据关键字查询联系人提示列表
     * @param keyword 查询关键字
     * @param limit 限制结果数量
     * @return 联系人列表
     */
    List<Map<String, Object>> getSuggestContactList(String keyword, Integer limit);
} 